home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_01_05 / 1n05054b < prev    next >
Text File  |  1990-07-15  |  1KB  |  63 lines

  1. /* Listing4.c */
  2.  
  3. #include    <graphics.h>
  4. #include    <stdio.h>
  5. #include    <stdlib.h>
  6. #include    <conio.h>
  7.  
  8. void SetPaletteRegister (int nRegister, int nPaletteNumber);
  9. void SetControllerMode (int nMode);
  10. void SetPalettePage (int nPage);
  11. void SetColorRegister (int nRegister, int nRed, int nGreen, int nBlue);
  12.  
  13.  
  14.  
  15.  
  16. void main()
  17. {
  18.     int        i;
  19.     int        nWidth, nHeight;
  20.     int        nLeft, nTop, nRight, nBottom;
  21.     int        nDriver, nMode, nError;
  22.  
  23.     /* initialize Borlands graphic driver */
  24.     detectgraph (&nDriver, &nMode);
  25.     if (nDriver != VGA)
  26.     {
  27.         printf ("This program requires VGA adapter!\n");
  28.         exit (1);
  29.     }
  30.     initgraph (&nDriver, &nMode, "");
  31.     nError = graphresult();
  32.     if (nError < 0)
  33.     {
  34.         printf ("initgraph error %s.\n", grapherrormsg (nError));
  35.         exit (1);
  36.     }
  37.  
  38.     /* Draw 16 blocks on the screen filled with 16 colors */
  39.     nWidth = 640 / 8;
  40.     nHeight = 480 / 2;
  41.     for (i = 0; i < 16; i++)
  42.     {
  43.         nLeft = (i % 8) * nWidth;
  44.         nRight = nLeft + nWidth;
  45.         nTop = (i / 8) * nHeight;
  46.         nBottom = nTop + nHeight;
  47.         setfillstyle (SOLID_FILL, i);
  48.         bar (nLeft, nTop, nRight, nBottom);
  49.     }
  50.     getch();
  51.  
  52.     /* Set the palette registers to point to color registers 0 - 15 */
  53.     SetPalettePage (0);
  54.     for (i = 0; i < 16; i++) SetPaletteRegister (i, i);
  55.     getch();
  56.  
  57.     /* Change the color registers to be shades of red */
  58.     for (i = 0; i < 16; i++) SetColorRegister (i, i * 4, 0, 0);
  59.     getch();
  60.  
  61.     clrscr();
  62.     closegraph();
  63. }